home *** CD-ROM | disk | FTP | other *** search
- #ifndef __LISTENING__
- #include "Listening.h"
- #endif
-
- OSErr InitSpeechRecognition (SpeechInfoPtr theSpeechInfo)
- {
- OSErr theErr = noErr;
-
- /* Make sure SpeechRecognition Toolbox is available */
- theErr = Gestalt (gestaltSpeechRecognitionVersion, &theSpeechInfo->attributes);
- /* Version number must be at least 1.5 to support Speech Recognition Toolbox API used here. */
- if (theErr == noErr) {
- if (theSpeechInfo->attributes < 0x00000150) {
- theErr = kNotEnoughSpeechVersion;
- }
- }
-
- return theErr;
- }
-
- OSErr OpenSpeechRecognition (SpeechInfoPtr theSpeechInfo)
- {
- OSErr theErr = noErr;
-
- theErr = SROpenRecognitionSystem (&theSpeechInfo->recogSystem, kSRDefaultRecognitionSystemID);
-
- return theErr;
- }
-
- OSErr ConfigureRecognition (SpeechInfoPtr theSpeechInfo)
- {
- OSErr theErr = noErr;
- short feedbackModes = kSRHasFeedbackHasListenModes;
-
- /* We use the default feedback and listening modes */
- theErr = SRSetProperty (theSpeechInfo->recogSystem, kSRFeedbackAndListeningModes, &feedbackModes, sizeof (feedbackModes));
-
- return theErr;
- }
-
- OSErr GetNewRecognizer (SpeechInfoPtr theSpeechInfo)
- {
- OSErr theErr = noErr;
- Boolean forground = false; //We want to recognize even if in the background
-
- /* Create a recognizer with default speech source -- e.g. the desktop microphone */
- theErr = SRNewRecognizer (theSpeechInfo->recogSystem, &theSpeechInfo->theRecognizer, kSRDefaultSpeechSource);
- if (theErr == noErr) {
- theErr = SRSetProperty (theSpeechInfo->theRecognizer, kSRForegroundOnly, &forground, sizeof (forground));
- }
-
- return theErr;
- }
-